#pragma once
#include "View.h"
#include "Model.h"

class ViewGDI : public View
{
public:
	ViewGDI( Model * const inModel , HWND hWnd );
	virtual ~ViewGDI(void);

	// Override
	void Render();
	void OnRender();

	void SetTxtColor( COLORREF color );
	void SetBkMode( int inMode );
	void SetBkColor( COLORREF color );
	void TxtOut( float fX , float fY , const TCHAR * pStr );
	void DrawTxt( float x1 , float y1 , float x2 , float y2 , const TCHAR * pStr );
	void DrawRct( float x1 , float y1 , float x2 , float y2 , COLORREF color );

protected:
	inline HWND getHWND() const { return this->mhWnd; }
private:
	HWND	mhWnd		;
	HBITMAP	mBackBuffer	;
	HDC		mhMemDC		;
};

